package cn.zqy.demo.day11.demo03;

/**
 * 如果一个事物内部包含另一个事物，则为：一个类内部包含另一个类
 * 分类：
 *      1.成员内部类。
 *      2.局部内部类。（包含匿名内部类）
 *
 *
 * 成员内部类格式：
 *  public class 外部类名称{
 *          //...
 *      public class 内部类名{
 *          //...
 *      }
 *          //...
 *  }
 *
 *  使用：
 *      内用外，直接访问，外用内，【需要内部类对象】
 *
 *  如何使用：
 *     1.间接：在外部类方法中，使用内部类。
 *     2.直接：
 *          【外部类名.内部类名 对象名】= 【new 外部类名().new 外部类名()】
 *
 * */
public class Demo01InnerClass {

    public static void main(String[] args) {
        Demo01MemberInnerClass body = new Demo01MemberInnerClass();
        //间接使用： 通过外部类对象，调用外部类方法，方法里面间接使用内部类。
        body.getZi();
        System.out.println("=================");

        // 直接使用
        Demo01MemberInnerClass.Zi zi = new Demo01MemberInnerClass().new Zi();
        zi.methodZi();
    }
}
